

#ifndef   _UCEDXREF_H
#define   _UCEDXREF_H
#pragma pack (push, 8)

Ucad::ErrorStatus
ucedXrefAttach(const ZTCHAR*           XrefPathname,
               const ZTCHAR*           XrefBlockname,
                     UcDbObjectId*   pXrefBTRid       = NULL,
                     UcDbObjectId*   pXrefRefid       = NULL,
               const UcGePoint3d*    pXrefInsertPt    = NULL,
               const UcGeScale3d*    pXrefScale       = NULL,
               const double*         pXrefRotateAngle = NULL,
               const bool            bQuiet           = true,
                     UcDbDatabase*   pHostDb          = NULL,
               const wchar_t*       wszPassword       = NULL);

Ucad::ErrorStatus
ucedXrefOverlay(const ZTCHAR*           XrefPathname,
                const ZTCHAR*           XrefBlockname,
                      UcDbObjectId*   pXrefBTRid       = NULL,
                      UcDbObjectId*   pXrefRefid       = NULL,
                const UcGePoint3d*    pXrefInsertPt    = NULL,
                const UcGeScale3d*    pXrefScale       = NULL,
                const double*         pXrefRotateAngle = NULL,
                const bool            bQuiet           = true,
                      UcDbDatabase*   pHostDb          = NULL,
                const wchar_t*        wszPassword      = NULL);

Ucad::ErrorStatus
ucedXrefUnload(const ZTCHAR*         XrefBlockname,
               const bool            bQuiet        = true,
                     UcDbDatabase*   pHostDb       = NULL);
Ucad::ErrorStatus
ucedXrefDetach(const ZTCHAR*         XrefBlockname,
               const bool            bQuiet        = true,
                     UcDbDatabase*   pHostDb       = NULL);
Ucad::ErrorStatus
ucedXrefReload(const ZTCHAR*         XrefBlockname,
               const bool            bQuiet        = true, 
                     UcDbDatabase*   pHostDb       = NULL);
Ucad::ErrorStatus
ucedXrefBind(const ZTCHAR*         XrefBlockname,
             const bool            bInsertBind     = false,
             const bool            bQuiet          = true,
                   UcDbDatabase*   pHostDb         = NULL);

Ucad::ErrorStatus
ucedXrefCreateBlockname(const ZTCHAR*  XrefPathname,
                              ZTCHAR*& XrefBlockname);

Ucad::ErrorStatus
ucedXrefReload(const UcDbObjectIdArray& XrefBTRids,
                     bool               bQuiet     = true,
                     UcDbDatabase*      pHostDb    = NULL);

Ucad::ErrorStatus
ucedXrefXBind(const UcDbObjectIdArray symbolIds,
              const bool              bQuiet       = true,
                    UcDbDatabase*     pHostDb      = NULL);

Ucad::ErrorStatus
ucedXrefResolve(UcDbDatabase* pHostDb, const bool bQuiet = true);

#pragma pack (pop)
#endif 

